/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.cip.esymons.eventos.bc;

import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.cip.esymons.tesoreria.be.CuentaIngreso;
import org.cip.esymons.tesoreria.be.MovimientoCuenta;
import org.cip.esymons.tesoreria.be.TipoMoneda;

@Stateless
public class CuentasTesoreriaFacade implements CuentasTesoreriaFacadeLocal {

    @PersistenceContext
    private EntityManager em;

    public CuentaIngreso dameCuentaIngresoXAmbienteServicio(boolean tipo, Integer codigo, Long tipoMoneda) {
        String sSQL = "";
        try {
            if (tipo) {
                //Para Ambiente
                sSQL = "select cin from CuentaIngreso cin where cin.cinCodigo in (select cia.cinCodigo from CuentaingresoAmbiente cia where cia.fkAmbCodigo.ambCodigo = ?1) and cin.fkTmoCodigo.tmoCodigo = ?2";
            } else {
                //Para Servicio o Equipo
                sSQL = "select cin from CuentaIngreso cin where cin.cinCodigo in (select cis.cinCodigo from CuentaingresoServicio cis where cis.fkSerCodigo.serCodigo = ?1) and cin.fkTmoCodigo.tmoCodigo = ?2";
            }
            return (CuentaIngreso) em.createQuery(sSQL)
                    .setParameter(1, codigo)
                    .setParameter(2, tipoMoneda)
                    .getSingleResult();
        } catch (Exception ex) {
            System.out.println("FATAL: " + ex.getMessage());
            return new CuentaIngreso();
        }
    }

    public List<MovimientoCuenta> listarCertificadosPagados() {
        return em.createQuery("select mcu from MovimientoCuenta mcu where mcu.").getResultList();
    }

    public List<TipoMoneda> listarTipoMoneda() {
        return em.createQuery("select tmo from TipoMoneda tmo").getResultList();
    }


}
